#ifndef HAND_H
#define HAND_H

#include "stdafx.h"
#include "Player.h"
#include "Action.h"
#include "Result.h"

using namespace std;
// SOMEONE CLEAN THIS UP

class Hand
{
private:
	string tableName_;
	string id_;
	float sb_;
	float bb_;
	int button_;
	string dateTime_;
	string holeCard1_;
	string holeCard2_;
	list<string> dealtCards_;
	list<Result> results_;
	list<Player> players_;
	list<Action> actions_;
public:
	Hand() {};
	Hand(string tableName, string id, float sb, float bb, string dateTime, int button, string holeCard1,
		string holeCard2, list<string> & dealtCards, list<Result> & results,
		list<Player> & players, list<Action> & actions);

	// Player list getter
	list<Player> Players() const {return players_;};
	list<Action> Actions() const {return actions_;};
	list<Result> Results() const {return results_;};
	int Button() const {return button_;};
	string TableName() const { return tableName_; };
	string Id() const { return id_; };
	float Sb() const { return sb_; };
	float Bb() const { return bb_; };
	Player GetPlayer(string playerName) const;

	void Actions(list<Action> actions) { actions_ = actions; };
	void Players(list<Player> players) { players_ = players; };


};

#endif